/**
 * nettype 统一导出文件
 * 提供所有API接口类型的统一导出入口
 */

import { ApiResponse, VoiceTextData } from './page';

// 页面相关接口类型
export * from './page';

// AI聊天相关接口类型
export {
  AiChatCompletionsResponse,
  AiChatCompletionsApiResponse,
  ModelTokenResponse,
  ModelTokenApiResponse,
  RPCClientResponse,
  RPCClientApiResponse,
  UpdateMessagesResponse,
  UpdateMessagesApiResponse,
  AiDebateScoreResponse,
  AiDebateScoreApiResponse,
  XunfeiAuthUrlResponse,
  XunfeiAuthUrlApiResponse,
  AiConfigResponse,
  AiConfigApiResponse,
  SaveMessageResponse,
  SaveMessageApiResponse
} from './aiChat';

// 用户相关接口类型
export {
  UserBasicInfo,
  UpdateUserResponse,
  UpdateUserApiResponse,
  WorkWechatQRCodeResponse,
  WorkWechatQRCodeApiResponse,
  WorkWechatBindResponse,
  WorkWechatBindApiResponse,
  WorkWechatUnbindApiResponse,
  WorkWechatInfo,
  WorkWechatInfoApiResponse,
  SyncWorkWechatUserResponse,
  SyncWorkWechatUserApiResponse,
  UserSpeedCard,
  UserSpeedCardsApiResponse
} from './user';

// 用户签到相关接口类型
export * from './userSignIn';

// 任务相关接口类型
export * from './task';

// 用户经验相关接口类型
export {
  ExperienceType,
  OperationSource,
  UserExperienceByType,
  UserExperienceStats,
  UserExperienceStatsApiResponse,
  ExperienceRecord,
  ExperienceRecordsResponse,
  ExperienceRecordsApiResponse,
  SyncUserExperienceResponse,
  SyncUserExperienceApiResponse,
  ExperienceTypeDefinition,
  OperationSourceDefinition,
  ExperienceTypesResponse,
  ExperienceTypesApiResponse
} from './userExperience';

// 辩论相关接口类型
export {
  DebateInfo,
  DebateTopicInfo,
  DebateRoleInfo,
  DebateScoreDetail,
  DebateDetailInfo,
  DebateListResponse,
  DebateListApiResponse,
  DebateDetailApiResponse,
  DebateTopicListApiResponse,
  DebateRoleListApiResponse,
  CreateDebateResponse,
  CreateDebateApiResponse,
  DebateScoreResponse,
  DebateScoreApiResponse
} from './debate';

// 诗词相关接口类型
export * from './poetry';

// 训练工具相关接口类型
export {
  TrainingToolInfo,
  TrainingToolDetailInfo,
  TrainingToolListResponse,
  TrainingToolListApiResponse,
  TrainingToolDetailApiResponse,
  TrainingToolInfoApiResponse,
  TrainingTypeInfo,
  TrainingTypeListApiResponse,
  TrainingContentDetail,
  TrainingContentListApiResponse,
  TrainingToolSearchResult,
  TrainingToolSearchResponse,
  TrainingToolSearchApiResponse
} from './trainingTool';


// 分页查询基础参数
export interface BasePageQuery {
  page?: number;
  size?: number;
  order?: string;
  sort?: 'ASC' | 'DESC';
}

// 分页响应基础结构
export interface BasePageResponse<T = any> {
  list: T[];
  total: number;
  page: number;
  size: number;
  totalPages: number;
}

// 列表查询响应
export interface BaseListResponse<T = any> {
  list: T[];
  total: number;
}

/**
 * 语音文字数据 API 响应接口
 */
export type VoiceTextDataApiResponse = ApiResponse<VoiceTextData[]>;
